/**
 * 
 */
package com.naiterui.ehp.bs.im.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @author He Qiang
 * @since 1.0.0
 */
@ApiModel(value = "MessageVO", description = "消息发送响应结果")
public class MessageVO {

    /**
     * 用药助手
     */
    @ApiModelProperty(value = "用药助手过滤关键词")
    private String[] drugNames;

    /**
     * 推荐单ID：<code>recommandId</code>
     */
    @ApiModelProperty(value = "[推荐用药消息]：推荐单ID")
    private Long recommandId;

    /**
     * 推荐单处方笺编号：<code>serialNumber</code>
     */
    @ApiModelProperty(value = "[推荐用药消息]：推荐单处方笺编号")
    private String serialNumber;

    /**
     * 会话ID
     */
    @ApiModelProperty(value = "会话ID")
    private String sessionId;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "会话结束时间")
    private Long endTime;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "会话开始时间")
    private Long beginTime;

    /**
     * 推药状态
     */
    @ApiModelProperty(value = "推药状态")
    private Integer recommandStatus;

    /**
     * 校准后的消息发送时间
     */
    @ApiModelProperty(value = "校准后的消息发送时间")
    private Long sendTime;

    /**
     * 是否是第一条
     */
    @ApiModelProperty(value = "[患者消息]是否是当日首条消息")
    private Integer isFirst;

    @ApiModelProperty(value = "mysql服务消息主键id")
    private Long consultSessionId;

    /**
     * 消息id
     */
    @ApiModelProperty(value = "消息id")
    private String id;

    /**
     * 医生姓名
     */
    @ApiModelProperty(value = "[推荐购药消息]医生姓名")
    private String doctorName;

    /**
     * 付费咨询价格
     */
    @ApiModelProperty(value = "[图文咨询通知消息]付费咨询价格")
    @JsonInclude(Include.NON_NULL)
    private String consultPrice;

    /**
     * 付费咨询支付状态
     */
    @ApiModelProperty(value = "[图文咨询通知消息]付费咨询支付状态")
    @JsonInclude(Include.NON_NULL)
    private Integer consultPayStatus;

    /**
     * 患者求药后提示患者文案
     */
    @ApiModelProperty(value = "[患者求药]患者求药通知消息")
    @JsonInclude(Include.NON_NULL)
    private String drugRequireNoticeToPatient;

    /**
     * 会话来源类型 0-普通免费会话，1-普通付费咨询会话，2-线上诊室找医生会话
     */
    @ApiModelProperty(value = "会话来源类型")
    private Integer consultSourceType;

    public String[] getDrugNames() {
        return drugNames;
    }

    public void setDrugNames(String[] drugNames) {
        this.drugNames = drugNames;
    }

    /**
     * @return Long 取得域 recommandId 的方法。
     */
    public Long getRecommandId() {
        return recommandId;
    }

    /**
     * @param recommandId 对域 recommandId 的设置方法.
     */
    public void setRecommandId(Long recommandId) {
        this.recommandId = recommandId;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public Long getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Long beginTime) {
        this.beginTime = beginTime;
    }

    public Long getSendTime() {
        return sendTime;
    }

    public void setSendTime(Long sendTime) {
        this.sendTime = sendTime;
    }

    /**
     * @return String 取得域 serialNumber 的方法。
     */
    public String getSerialNumber() {
        return serialNumber;
    }

    /**
     * @param serialNumber 对域 serialNumber 的设置方法.
     */
    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }

    public Integer getRecommandStatus() {
        return recommandStatus;
    }

    public void setRecommandStatus(Integer recommandStatus) {
        this.recommandStatus = recommandStatus;
    }

    public Integer getIsFirst() {
        return isFirst;
    }

    public void setIsFirst(Integer isFirst) {
        this.isFirst = isFirst;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getConsultPrice() {
        return consultPrice;
    }

    public void setConsultPrice(String consultPrice) {
        this.consultPrice = consultPrice;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public Integer getConsultPayStatus() {
        return consultPayStatus;
    }

    public void setConsultPayStatus(Integer consultPayStatus) {
        this.consultPayStatus = consultPayStatus;
    }

    public String getDrugRequireNoticeToPatient() {
        return drugRequireNoticeToPatient;
    }

    public void setDrugRequireNoticeToPatient(String drugRequireNoticeToPatient) {
        this.drugRequireNoticeToPatient = drugRequireNoticeToPatient;
    }

    public Long getConsultSessionId() {
        return consultSessionId;
    }

    public void setConsultSessionId(Long consultSessionId) {
        this.consultSessionId = consultSessionId;
    }

    public Integer getConsultSourceType() {
        return consultSourceType;
    }

    public void setConsultSourceType(Integer consultSourceType) {
        this.consultSourceType = consultSourceType;
    }
}
